testsuite: Be robust against broken focus
authorMatthias Clasen <mclasen@redhat.com>
Tue, 11 Jun 2019 15:48:07 +0000 (15:48 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 11 Jun 2019 17:14:42 +0000 (17:14 +0000)
When we start cycling on a subset, abort
after a while.

testsuite/gtk/test-focus-chain.c

index dac0d114ac5c979666df8ca3d4bf804a6d3022ae..a76082fecafef5f83290da3757d7309db73d1b08 100644 (file)
@@ -92,9 +92,10 @@ generate_focus_chain (GtkWidget        *window,
 {
   char *first = NULL;
   char *last = NULL;
-  char *name;
+  char *name = NULL;
   GString *output = g_string_new ("");
   GtkWidget *focus;
+  int count = 0;
 
   gtk_widget_show (window);
 
@@ -135,6 +136,7 @@ generate_focus_chain (GtkWidget        *window,
         }
 
       g_string_append_printf (output, "%s\n", name);
+      count++;
 
       if (!first)
         first = g_strdup (name);
@@ -142,9 +144,16 @@ generate_focus_chain (GtkWidget        *window,
       g_free (last);
       last = g_strdup (name);
 
+      if (count == 100)
+        {
+          g_string_append (output, "ABORT\n");
+          break;
+        }
+
       g_free (name);
     }
 
+  g_free (name);
   g_free (first);
   g_free (last);